const {ChatModel} = require('../db/models');

module.exports = function (server) {
    //得到IO对象
    const io = require('socket.io')(server);
    //监视连接(当有一个客户连接上时回调)
    io.on('connection', function (socket) {
        console.log('有一个客户端连接上了服务器');
        //绑定sendMsg监听,接收客户端发送的消息
        socket.on('sendMsg', function ({from, to, content}) {
            console.log('服务器接收到客户端的消息', {from, to, content});
            //处理数据（保存消息）先准备消息对象
            const chat_id = [from, to].sort().join('_'); //from_to或to_from
            const create_time = Date.now();
            new ChatModel({from, to, chat_id, content, create_time}).save(function (error, chatMsg) {
                //向客户端发消息(我，目标)
                io.emit('receiveMsg', chatMsg);//向所有连接上的客户端发消息（客户端去处理,显不显示）
            });
        })
    })
}